package com.woniuxy.hrp.service;

import com.woniuxy.hrp.entity.Hospital;
import com.woniuxy.hrp.entity.PageBean;

import java.util.List;

/**
 * @description:
 * @author: LRW
 * @create: 2022-08-30 17:34
 * @Version 1.0
 **/

public interface HospitalService {

    /***
     * @description: 系统内所有医院列表展示
     * @param:
     * @return: java.util.List<com.woniuxy.hrp.entity.Hospital>
     * @author Lrw
     * @date: 2022/8/30 17:37
     */
    List<Hospital> getAll();

    /***
     * @description: 多条件查询医院
     * @param: hospital
     * @return: java.util.List<com.woniuxy.hrp.entity.Hospital>
     * @author Lrw
     * @date: 2022/8/30 18:32
     */
    List<Hospital> getByCondition(Hospital hospital);

    /***
     * @description: 根据id查医院详细信息（医院详情页）
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author Lrw
     * @date: 2022/8/30 18:35
     */
    Hospital getById(int id);

    /**
     * @description: 管理员新增医院
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    void add(Hospital hospital);

    /**
     * @description: 管理员删除医院(逻辑删除)
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    void delete(int id);

    /**
     * @description: 管理员修改医院信息
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    void updateByCondition(Hospital hospital);

    /**
     * @description: 管理员查询医院
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    Hospital findById(int id);

    /**
     * @description: 管理员查询所有医院(分页)
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    PageBean<Hospital> findAll(int page);

    /**
     * @description: 管理员根据名称模糊查询医院(分页)
     * @param: id
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author: WY
     **/
    PageBean<Hospital> findByName(int page,String name);

    /***
     * @description: 分页查询所有医院
     * @param: page
     * @return: com.woniuxy.hrp.entity.PageBean<com.woniuxy.hrp.entity.Hospital>
     * @author Lrw
     * @date: 2022/9/2 14:32
     */
    PageBean<Hospital> getByPage(int page);


    /***
     * @description:  根据名字分页模糊查询
     * @param: page
     * @return: com.woniuxy.hrp.entity.PageBean<com.woniuxy.hrp.entity.Hospital>
     * @author Lrw
     * @date: 2022/9/2 16:24
     */
    PageBean<Hospital> getByNameAndPageVaguely(int page,String name);

    /***
     * @description: 根据医院名模糊查找
     * @param: name
     * @return: com.woniuxy.hrp.entity.Hospital
     * @author Lrw
     * @date: 2022/9/3 11:55
     */
    List<Hospital> getByNameVag(String name);
    public List<Hospital> seleAll();
}
